FIG. 1 illustrates an example of a procedure performed in development of a printed circuit board. In the development of the printed circuit board, there are steps such as specification design, circuit design, implementation design, analysis (confirmation), trial manufacture of the board, and mass production. In the specification design, system requirements such as the functions to be achieved, and manufacturing conditions such as the placement restrictions and the number of layers are determined, and instructions are given to the designer of the circuit design by way of a specifications document. In the circuit design, a netlist expressing the components and power supply to be used and the wiring of those components, and constraint conditions in the implementation are determined, after which instructions are given to the implementation designer. The netlist is exchanged, for example, in EDIF (Electronic Design Interchange Format) format. Moreover, the constraint conditions include, for example, the position relationship among components, the wiring length of the network, the wire spacing, the number of bypass capacitors and the like. The constraint conditions are also exchanged as electronic data in a format that can be read, for example, by a CAD (Computer Aided Design) system. In the implementation design, the arrangement of components and the wiring pattern on the printed circuit board are designed. In the work up to this point, the actual layout on the printed circuit board is determined. After that, in the analysis (confirmation), the layout data is used in performing the analysis of whether any problems in the manufacturing will occur. CAM (Computer Aided Manufacturing) data for manufacturing the printed circuit board is then given to the production line, and a trial printed circuit board is manufactured, and when there are no problems, the printed circuit board is mass-produced.
In such a procedure as this, there are already systems that automatically carry out the implementation design of the printed circuit board. For example, using a database that stores standard shapes, constraints on the design, placement order of circuit blocks and the like, the placement of the circuit blocks and the wiring between the circuit blocks are determined so as to satisfy the constraints on the design, and to be accommodated within a predetermined board.
Here, an example of constraint conditions for the netlist and position relationship of components that are determined in the circuit design will be explained using FIG. 2A and FIG. 2B. First, in order to define the components, power supply, ground and the like, and the connection relationships of these, the designer of the circuit design creates data for a circuit diagram such as illustrated in FIG. 2A. In the circuit diagram illustrated in FIG. 2A, component pin 2 of component I2 is connected with component pin 1 of component C4, component pin 1 of component R1 and component pin 1 of component R2, respectively. From data of such a circuit diagram, a netlist is then created that includes data for the components and the like, and data for the connection relationships among those components, and that netlist is given to the designer of the implementation design. The designer of the circuit design also sets constraint conditions such as illustrated in FIG. 2B for the position relationships of component groups that are included in such a circuit diagram. In the constraint conditions illustrated in FIG. 2B, a condition that “components C4, R1 and R2 are to be placed within 15 mm from component I2” is defined. Typically, plural constraint conditions for a part of the components included in such a circuit diagram are registered. Here, in case that the designer of the implementation design determines the placement position on the printed circuit board for components that are regulated in one constraint condition, when it is possible to apply the placement position of the components to components that are regulated in another suitable constraint condition, it is possible to lighten the burden of the work.
However, in the circuit design that is carried out before the implementation design, designation that it is possible to apply the placement position on the printed circuit board for a component defined in a certain constraint condition to the placement position of a component defined in another constraint condition is not always made. Moreover, there is also a case where, even when the association between the constraint conditions is recognized, the correlation between components that are regulated in one constraint condition and components that are regulated in another constraint condition may not always be clear. Furthermore, there is also a case where components having no correlation may be included in one of the constraint conditions.
In an analog LSI (Large Scale Integrated circuit), there is also an element shape determining method for satisfying the layout constraints and achieving the large-scale integration. For example, a closely spacing condition that is set in advance to keep the same shape is input, and when there are plural elements in the netlist, which match with the condition, those elements are handled as one group. Moreover, when there are elements which correspond to basic shape designation in which the basic shape is defined in advance, the element shape is determined using that basic shape.
In addition, in the design of the analog LSI, there is also a technique for selecting the optimum wiring candidate elements. For example, when an arbitrary element that has already been wired is treated as a reference element, all of the elements that will be connected to that reference element are extracted, and the connection relationships between the reference element and the extracted elements are compared with a layout condition file to carry out ranking of placement candidate elements, and the placement candidate elements are automatically selected according to that ranking.
Conventionally, the correlation between components defined in the constraint condition as a reference and components defined in another constraint condition cannot be clearly grasped.